package cn.panda.edu.dao;

import cn.panda.edu.model.Teacher;
import cn.panda.edu.model.TeacherWithBLOBs;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 类描述：  教师表DAO
 */
public interface TeacherMapper {
	/**
     * 
    * @Title: listTeacherByStuId 
    * @Description: TODO(根据学生id获取教师信息) 
    * @param studentId
    * @return  
    * List<Teacher>
     */
	List<Teacher> listTeacherByStuId(Integer studentId);
	/**
	 * 
	* @Title: deleteByPrimaryKey 
	* @Description: TODO(通过主键删除) 
	* @param @param teacherId
	* @param @return  
	* @return int
	 */
    int deleteByPrimaryKey(Integer teacherId);
    /**
    * @Title: insert 
    * @Description: TODO(插入) 
    * @param @param record
    * @param @return  
    * @return int
     */
    int insert(TeacherWithBLOBs record);

    /**
    * @Title: insertSelective 
    * @Description: TODO(动态插入) 
    * @param @param record
    * @param @return  
    * @return int
     */
    int insertSelective(TeacherWithBLOBs record);

    /**
    * @Title: selectByPrimaryKey 
    * @Description: TODO(通过teacherId 查找) 
    * @param @param teacherId
    * @param @return  
    * @return TeacherWithBLOBs
     */
    TeacherWithBLOBs selectByPrimaryKey(Integer teacherId);

    /**
    * @Title: updateByPrimaryKeySelective 
    * @Description: TODO(动态 更新) 
    * @param @param record
    * @param @return  
    * @return int
     */
    int updateByPrimaryKeySelective(TeacherWithBLOBs record);

    /**
    * @Title: updateByPrimaryKeyWithBLOBs 
    * @Description: TODO(更新) 
    * @param @param record
    * @param @return  
    * @return int
     */
    int updateByPrimaryKeyWithBLOBs(TeacherWithBLOBs record);

    /**
    * @Title: updateByPrimaryKey 
    * @Description: TODO(更新) 
    * @param @param record
    * @param @return  
    * @return int
     */
    int updateByPrimaryKey(Teacher record);
    
    /**
    * @Title: selectByPageAndSelective 
    * @Description: TODO(模糊+分页 查询) 
    * @param map
    * @return
    * List<Teacher>
     */
    List<Teacher> selectByPageAndSelective(Map<String, Object> map);
    
    /**
    * @Title: updatePermissionByPrimaryKey 
    * @Description: TODO(修改教师角色) 
    * @param map
    * @return
    * int
     */
    int updatePermissionByPrimaryKey(Map<String, Object> map);
    
    /**
     * 
    * @Title: manageLogin 
    * @Description: TODO(教师，管理员登陆) 
    * @param teacher
    * @return
    * Teacher
     */
    Teacher manageLogin(Map<String, Object> map);
	/**
	 * 
	* @Title: teacherLogin 
	* @Description: 教师登录
	*@param teacherId
	*@param pwd
	*@return  
	* Teacher
	 */
	
	Teacher teacherLogin(@Param("id") String teacherRealname, @Param("pwd") String pwd);

	 /**
	  *
	 * @Title: teacherPwd
	 * @Description: 修改密码
	 *@param teacherId
	 *@param pwd
	 *@return
	 * int
	  */
	int   teacherModfiyPwd(@Param("id") Integer teacherId, @Param("pwd") String pwd);
	
	
}